package leetcode_800;

/**
 *@author 周杨
 *ToeplitzMatrix_766 判断 一个矩阵是不是Toeplitz矩阵 即右对角线上的所有元素相等
 *describe:用一个数组保存上一轮遍历结果 AC 55%
 *2018年10月19日 上午10:53:52
 */
public class ToeplitzMatrix_766 {
	
	public static void main(String[] args) {
		ToeplitzMatrix_766 test=new ToeplitzMatrix_766();
		int[][] matrix=new int[][] {{1,2,3,4},{5,1,2,3},{9,5,1,2}};
		System.out.println(test.isToeplitzMatrix(matrix));
	}
	public boolean isToeplitzMatrix(int[][] matrix) {
        if(matrix.length<=1||matrix[0].length<=1)
        	return true;
        int dp[]=new int[matrix[0].length];
        for(int i=0;i<matrix[0].length;++i)
        	dp[i]=matrix[0][i];
        for(int i=1;i<matrix.length;++i) {
        	for(int j=1;j<matrix[0].length;++j) {
        		if(matrix[i][j]!=dp[j-1])
        			return false;
        	}
        	for(int j=matrix[0].length-1;j>0;--j)
        		dp[j]=dp[j-1];
        	dp[0]=matrix[i][0];//第一个元素加进去
        }
        return true;
    }
}
